package com.example.conf.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author wpdcn
 * @since 2020-05-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("shop_coupon")
@ApiModel(value="ShopCouponEntity对象", description="")
public class ShopCouponEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Column(comment = "主键id")
    @ApiModelProperty(value = "主键id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Column(comment = "所属账户id")
    @ApiModelProperty(value = "所属账户id")
    private Long accountId;

    @Column(comment = "优惠券名称")
    @ApiModelProperty(value = "优惠券名称")
    private String name;

    @Column(comment = "类型：1分销推广券；2满减券；3折扣券")
    @ApiModelProperty(value = "类型：1分销推广券；2满减券；3折扣券")
    private String type;

    @Column(comment = "优惠券发放总量")
    @ApiModelProperty(value = "优惠券发放总量")
    private Long totalNum;

    @Column(comment = "派发量")
    @ApiModelProperty("派发量")
    private Long distNum;

    @Column(comment = "优惠值，type=3时为折扣")
    @ApiModelProperty(value = "优惠值，type=3时为折扣")
    private Double couponValue;

    @Column(comment = "商品范围：1全部商品；2包含部分商品；3不包含部分商品")
    @ApiModelProperty(value = "商品范围：1全部商品；2包含部分商品；3不包含部分商品")
    private String goodScope;

    @Column(comment = "门槛金额")
    @ApiModelProperty(value = "门槛金额")
    private Double threshold;

    @Column(comment = "用券开始时间")
    @ApiModelProperty(value = "用券开始时间")
    private LocalDateTime startTime;

    @Column(comment = "用券结束时间")
    @ApiModelProperty(value = "用券结束时间")
    private LocalDateTime endTime;

    @Column(comment = "状态：1未开始；2进行中；3已结束")
    @ApiModelProperty(value = "状态：1未开始；2进行中；3已结束")
    private String status;

    @Column(comment = "每人限领次数")
    @ApiModelProperty(value = "每人限领次数")
    private Integer receiveLimit;

    @Column(comment = "创建人")
    @ApiModelProperty(value = "创建人")
    private Long createBy;

    @Column(comment = "创建时间")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;




}
